import axios from 'axios'
import {Message} from 'element-ui';
import Router from '../router/index'

// 创建新实例  默认配置
const HTTP = axios.create({
  timeout: 1000,
  //baseURL: '/api',// 后端 的服务器地址
})

// 请求发出前做什么
HTTP.interceptors.request.use(request => {
  // 携带 token
  // 1 获取 token
  let token = sessionStorage.getItem('token')
  // console.log('请求发出前',token)
  // 2 如果 token 存在就将 token 写到请求头里
  if (token==='undefined'||token==='null') token = null
  token && (request.headers.Authorization = 'Bearer ' + token)
  // 3 将请求信息返回出去
  // console.log(request)
  return request
}, error => {
  console.log(error)
  // return error
})
// 响应回来后做什么
HTTP.interceptors.response.use(response => {
  //  当请求回来后
  //  更新token
  //   console.log('响应的所有数据: ',response.data.token)
  if (response.status===200 ) {
    // 请求成功 写token
    if(response.data.code === '200'||response.data.Status==='success') {
      sessionStorage.setItem('token', response.data.token)
    }else if (response.data.message==='token验证失败') {
      Message.error('登录身份过期,请重新登录')
      sessionStorage.setItem('token', 'null')
      Router.push('/login').catch(err => {})
    }
    return response
  }else if (response.status === 500) {
    // response.data = {}
    // response.data.msg = '服务器错误： 500'
    Message.error('服务器错误： 500')
  } else if (response.status === 401) {
    // response.data = {}
    // response.data.msg = '您没有权限： 401'
    Message.error('您没有权限： 401')
  
  } else if (response.status === 404) {
    response.data = {}
    // response.data.msg = '请求失败,找不到资源： 404'
    Message.error('请求失败,找不到资源： 404')
  
  } else {
    response.data = {}
    // response.data.msg = '其他原因引其错误'
    Message.error('其他原因')
  
  }
  
})
export default HTTP
